#ifndef _QUEUE_H_
#define _QUEUE_H_


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义队列数据结构
struct queue_data
{
    int data1;
    int data2;
};
// 定义队列结构体
struct queue
{
    int size; // 队列大小
    struct queue_data data; // 队列数据
    struct queue *next; // 指向下一个节点的指针
    struct queue *last; // 指向最后一个节点的指针
};
// 获取队列大小
int size(struct queue *que);
// 判断队列是否为空
int isEmpty(struct queue *que);
// 创建一个新的队列头
struct queue *create_queue(void);
// 向队列中添加数据
void push(struct queue_data *data, struct queue *que);
// 从队列中移除数据
void pop(struct queue *que);
// 获取队列的第一个数据
struct queue_data front(struct queue *que);
// 清空队列
void destroy_queue(struct queue *que);


#endif
